package com.ruoyi.system.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;

import java.io.Serializable;

/**
 * 学生信息视图对象 student
 *
 * @author ruoyi
 * @date 2025-06-30
 */
@Data
@ExcelIgnoreUnannotated
public class StudentVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 学生ID
     */
    @ExcelProperty(value = "学生ID")
    private Long studentId;

    /**
     * 学号
     */
    @ExcelProperty(value = "学号")
    private String studentNo;

    /**
     * 学生姓名
     */
    @ExcelProperty(value = "学生姓名")
    private String studentName;

    /**
     * 性别（0男 1女）
     */
    @ExcelProperty(value = "性别", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=男,1=女")
    private String gender;

    /**
     * 出生日期
     */
    @ExcelProperty(value = "出生日期")
    private Date birthday;

    /**
     * 班级ID
     */
    @ExcelProperty(value = "班级ID")
    private Long classId;

    /**
     * 联系电话
     */
    @ExcelProperty(value = "联系电话")
    private String phone;

    /**
     * 邮箱
     */
    @ExcelProperty(value = "邮箱")
    private String email;

    /**
     * 住址
     */
    @ExcelProperty(value = "住址")
    private String address;

    /**
     * 状态（0在校 1休学 2毕业）
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=在校,1=休学,2=毕业")
    private String status;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;


}
